iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
1
自我挑戰組

ASP.NET 網頁程式設計初學者系列 第 23

DAY23-ASP.NET MVC VIEWBAG VIEWDATA TEMPDATA

  • 分享至 

  • xImage
  •  

今天就來講講VIEWBAG VIEWDATA TEMPDATA
這三個是甚麼呢
他們是CONTROLLER 傳送資料給VIEW的方法
那差異在哪呢
我們來分別釐清

public ActionResult TRY5()
        {
            ViewData["X"] = "我是VIEWDATA";
            ViewBag.Y = "我是VIEWBAG";
            TempData["Z"] = "我是TEMPDATA"; 


            return View();
        }

這是寫在CONTROLLER裡的
第一個ViewData他的名稱["X"]是在[]框框裡加入字串
第二個ViewBag他的名稱Y則是直接用點的就好了
第三個TempData他的名稱["Z"]是在[]框框裡加入字串
看到差異性了嗎~~應該不難
那我們新增一個TRY5的VIEW吧
新增檢視>選空白的PAGE就好了

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>TRY5</title>
</head>
<body>
    <div> 
        VIEWDATA:@ViewData["X"]
        VIEWBAG:@ViewBag.Y
        TEMPDATA:@TempData["Z"]

    </div>
</body>
</html>

重點在這邊
用@的方式去抓取資料!!
執行看看發生甚麼是吧~
圖1
https://ithelp.ithome.com.tw/upload/images/20201008/20112357y79iZOqJ0Z.png
我忘了換行...
沒關西那是順利抓到資料了

還有要注意甚麼呢~~
注意他們後面得名稱
如果重複會出現問題喔
甚麼意思
如果
ViewData["9453"] = "我是VIEWDATA";
ViewBag.9453 = "我是VIEWBAG";
兩個名稱重複 他們在資料傳遞的過程會打架喔
就是會抓不到其中一個
所以使用的時候要特別注意一下喔!!


上一篇
DAY22-ASP.NET MVC 路由
下一篇
DAY24-ASP.NET Identity
系列文
ASP.NET 網頁程式設計初學者30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言